// #include <stdio.h>
// #include <string.h>
// int main()
// {
//     char ch[]="asd f\0ghj";
//     printf("%d\n",sizeof(ch));//输出的是字符串的长度，包括\0(中间一个，字符串结束标志一个)
//     printf("%d\n",strlen(ch));//输出的是字符串的长度，不包括\0，且遇到\0停止
//     return 0;
// }



// #include <stdio.h>
// #include <string.h>
// int main()
// {
//     int i=0;
//     char name[20];
//     scanf("%s",name);
//     for(i=0;i<strlen(name);i++)
//     printf("%c 's ASCLL code is %d\n",name[i],name[i]);//输出第一个字符的ASCLL码值，即第一个字符的ASCII码值，而不是字符串的ASCII码值
//     return 0;
// }


// #include <stdio.h>
// int main()
// {
//     int n;
//     printf("question : 1+1=?\n");
//     do{
//         scanf("%d",&n);
//         if(n==2)
//         printf("right!\n");
//         else
//         printf("try again!\n");
//     }while(n!=2);
//     return 0;
// }


// #include <stdio.h>//输入一段英文字符串，判断是否为回文
// #include <string.h>
// int main()
// {
//     char ch[100];
//     scanf("%[^\n]",ch);
//     int len=strlen(ch);
//     int i;
//     int left=0;
//     int right=len-1;
//     while(left<right)
//     {
//         if(ch[left]!=ch[right])
//         {
//             printf("no huiwenzfc\n");
//             break;
//         }
//         else
//         {
//             left++;
//             right--;
//         }
//         if(left>=right)
//         printf("yes huiwenzfc\n");
//     }
//     return 0;
// }



// #include <stdio.h>//输入一段英文字符串，将其中的大写字母转换为小写字母
// #include <string.h>
// int main()
// {
//     char ch[100];
//     scanf("%s",ch);
//     int len=strlen(ch);
//     int i;
//     for(i=0;i<len;i++)
//     {
//         if(ch[i]>='A'&&ch[i]<='Z')
//         ch[i]=ch[i]-32;
//     }
//     printf("%s",ch);
//     return 0;
// }



#include <stdio.h>//输入一行英文句子，统计每个字母出现的次数和频率
#include <string.h>
#include <ctype.h>
int main()
{
    int i;
    char sentence[1000];
    int counts[26]={0};//记录每个字母出现的次数，初始化为0,分别存放26个字母各自的个数在26个数组元素里面
    int total=0;//记录总字母数，用于计算出现频率
    printf("input a sentence: ");
    gets(sentence);//输入一行英文句子
    for(i=0;sentence[i]!='\0';i++)//遍历句子中的每个字符
    {
        if(isalpha(sentence[i]))//判断是否是字母
        {
            char ch=tolower(sentence[i]);//重新定义一个单字符变量并赋值为数组中的一个元素，将该元素大写字母转换为小写字母
            counts[ch-'a']++;//对应字母计数加1
            total++;
        }
    }
    printf("\nalphabet counts and frequencies:\n");
    for(i=0;i<26;i++)//输出每个字母的出现次数和频率
    {
        double frequency=(total>0)?(double)counts[i]/total*100:0;//计算频率
        printf("%c: counts = %d,frequency = %.2f%%\n",'a'+i,counts[i],frequency);
    }
    return 0;
}